package com.vctgo.system.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vctgo.common.core.annotation.Excel;
import com.vctgo.common.core.web.domain.TenantEntity;
import lombok.Data;

/**
 * 账套详细对象 t_account
 *
 * @author vctgo
 * @date 2024-12-17
 */
@Data
@TableName("t_account")
public class TAccount extends TenantEntity
{
    private static final long serialVersionUID = 1L;

    /** 账套主键 */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /** 单位名称 */
    @Excel(name = "单位名称")
    private String accountName;

    /** 启用年月 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "启用年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date openingDate;

    /** 模版外键 */
    @Excel(name = "模版外键")
    private Integer templateId;

    /** 统一信用代码 */
    @Excel(name = "统一信用代码")
    private String creditCode;

    /** 所在地外键 */
    @Excel(name = "所在地外键")
    private String addressId;

    /** 行业外键 */
    private Integer professionId;

    /** 凭证审核 */
    @Excel(name = "凭证审核")
    private Integer proofStatus;

    /** 创建时间 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束日期 */
    private Date endTime;

    /** 有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityTime;

    /** 记账年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记账年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date accountDate;

    /** 逻辑删除 */
    private Integer isDeleted;

    /** 账套状态 */
    @Excel(name = "账套状态")
    private Integer accounStatus;

    @TableField(exist = false)
    private String templateName;

    @TableField(exist = false)
    private String accountIngStandard;

    @TableField(exist = false)
    private String appreciationType;

    @TableField(exist = false)
    private String professionName;



}
